# 组合数字
# 有四个数字：1、2、3、4，能组成多少个互不相同且无重复数字的三位数？各是多少？

# 循环嵌套 内置函数

# 内置函数
import itertools

a = '1234'
lis = list(itertools.permutations(a, 3))
res = [''.join(x) for x in lis]
print(len(lis))
print(*res, sep=' ')

# 传统循环嵌套
lis = []
for i in a:
    for j in a:
        for k in a:
            if i == k or i == j or j == k:
                continue
            s = i + j + k
            if s not in lis:
                lis.append(s)
            s = ''

print(len(lis))
print(*lis, sep=' ')
